module.exports = {
	sortBy: function(arr, key, asc) {
		var _arr_map = {};
		var _arr_keys = [];
		//根据值保存对象到集合和值数组
		arr.forEach(function(item) {
			var value = item[key];
			var _arr_set = _arr_map[value];
			if (!_arr_set) {
				_arr_set = _arr_map[value] = [];
				_arr_keys.push(value)
			}
			_arr_set.push(item);
		});
		//排序值数组
		_arr_keys.sort();
		//倒序
		if (asc) {
			_arr_keys.reverse();
		}
		var result = [];
		//根据值数组排列对象集
		_arr_keys.forEach(function(value) {
			result = result.concat(_arr_map[value]);
		});
		return result;
	},
};
// arr = module.exports.sortBy([{a:1},{a:3},{a:2}],"a",true)
// console.log(arr);